define(function(require, exports){
	var util = require('util');

	exports.onMain = function(controller, data, app){
		var cont = app.getContainer({
			scenes: 'login',
			full: false,
			sitelist: false,
			setup_btn: false,
			title: LANG('登录')
		});
		cont.addClass('appScenesLoginMain');

		var login = app.core.get('SYS_USER_LOGIN');
		if (!login){
			app.core.createAsync(
				'SYS_USER_LOGIN',
				'@project/login/action/login.login',
				{
					'success': function(user){
						app.setUser(user);
						var cb = app.config('loginCb');
						if(cb && util.isFunc(cb)) {
							cb(app, function() {
								app.core.cast('sysUserLogin', user);
								controller.afterLogin();
							});
						}
					},
					'target': cont.getDOM()
				}
			);
		}else {
			login.reset().show();
		}
	};

	// 用户退出登录
	//exports.onLogout = function(controller, data, app){
	//	// 请求服务器退出登录接口
	//	app.mc.send('/logout');
	//	// app.controller.navigate('');
	//};
	// 退出UC之后再退出产品
	exports.onLogout = function(controller, data, app){
		var cont = app.getContainer({
			'scenes':'logout',
			'title':LANG('退出账号')
		});
		cont.addClass('appScenesLoginMain');

		var mod = app.core.get('SYS_USER_LOGOUT');
		if (!mod){
			app.core.createAsync('SYS_USER_LOGOUT', '@project/login/action/login.logout', {
				'target': cont.getDOM()
			}, function(mod){
				mod.logout();
			});
		}else {
			mod.logout();
		}
	};

	// 忘记密码
	exports.onForgot = function(controller, data, app){
		var cont = app.getContainer({
			scenes:'main',
			full:true,
			title:'忘记密码'
		});
		if (controller.load_template('login')){
			app.template.setTo(cont.getDOM(), 'forgot');
		}
	}
});